home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 626-637 / disk_637 / mouseaidedemo / mouseaide.doc < prev    next >
Text File  |  1992-05-06  |  15KB  |  362 lines

  1. MouseAide v3.34a.03.14.92
  2. Copyright (c) 1992 by Thomas J. Czarnecki
  3. All Rights Reserved
  4.  
  5.  
  6.  
  7.     "MouseAide" is a 100% assembly language program that helps the Mouse do
  8.     much more, with a lot less work by the user!
  9.  
  10.  
  11.                             MouseAide Features:
  12.  
  13.  
  14.     o   An adjustable acceleration of the mouse, with a adjustable threshold
  15.         for fast, and easy precision work.
  16.  
  17.     o   Auto-Activation of the window that the mouse pointer is under.
  18.  
  19.     o   Auto-Key-Activation of the window that the mouse pointer is
  20.         under, when a key is pressed.  Nice feature to have if you use
  21.         the keyboard with multiple windows.  Just point and type!
  22.  
  23.     o   Blanking of the mouse pointer if a key is pressed.  No more trying
  24.         to read behind the mouse pointer, Nice eh?
  25.  
  26.     o   Blanking of the mouse pointer if user input is idle for a set
  27.         number of seconds.
  28.  
  29.     o   To save your monitor from image burning: blanking of the screen
  30.         if the user input is idle for a set number of minutes. Nice
  31.         feature for those of us that take a one minute break that runs
  32.         into....
  33.  
  34.     o   Clicking a window under the mouse pointer to the front (if need be)
  35.         with a adjustable number of left mouse button clicks, that are
  36.         within the time you have set in preferrences.  The clicks to front
  37.         count is reset when the mouse pointer is moved to a new window, making
  38.         unwanted 'Clicks To Front' less likely when using a click count of two
  39.         or more.
  40.  
  41.     o   Clicking a window under the mouse pointer to the back, by holding the
  42.         left mouse button down while clicking and releasing the right mouse
  43.         button!
  44.  
  45.     o   Clicking the screen to the back, by doing a doing a window to back
  46.         sequence, but with the mouse pointer NOT over a window!
  47.  
  48.     o   Turning the windows with the 'Left Amiga-J', & 'Left Amiga-K' keyboard
  49.         sequences.  The top window will become the active one!
  50.  
  51.     o   Turning the screens with the 'Left Amiga-N', & 'Left Amiga-M' keyboard
  52.         sequences.  The top screen will become the active one!
  53.  
  54.     o   If any conflicts arise "MouseAide" can be suspended by the keyboard
  55.         sequence: Left-Amiga-Right-Shift  And restarted with the same sequence!
  56.         This allows you to enter any key/mouse input that "MouseAide" may use,
  57.         without getting the action (Click-to-front, Window/Screen turning...)
  58.  
  59.     o   Can execute a default ('c:NewCLI') or a user defined command with the
  60.         'Left Amiga-Esc' keyboard sequence.  Nice for a quick-pop-up program,
  61.         or a easy CLI/Shell startup.
  62.  
  63.     o   Multi-Icon-Select with just the mouse, No more shift key!  By pressing
  64.         and holding the left mouse button, then pressing and holding the right
  65.         mouse button, and then releasing the left mouse button, you enter the
  66.         Multi-Icon-Select (M.I.S.) mode!  To select multiple Icons just click
  67.         on them with the left mouse button while still holding down the right
  68.         mouse button!  You can enter the M.I.S. mode while selecting your first
  69.         Icon, or, as I find easier, you can enter M.I.S. mode by doing the above
  70.         sequence without an Icon!  It makes it easier to select the first Icon
  71.         without moving it!
  72.  
  73.     o   Better keyboard feedback by producing a 'Clicking' sound when a 'Key'
  74.         is pressed!  This function is handy when you are entering data into
  75.         the computer without looking at the screen much.  I allocate a 'Audio'
  76.         channel at a low enough priority that you can run a music type playing
  77.         program which will steal the channel to play the music and when done
  78.         playing 'MouseAide' will recover its channel for use again!  Nice eh?
  79.         I also let the user set the 'Clicking' volume level.
  80.  
  81.     o   Automated date generation!  With just a few keystrokes "MouseAide"
  82.         will get the current date, build it to a default, or user format,
  83.         and than output it by the same method that is used when you type
  84.         on the keyboard!  To generate the default formated date all the
  85.         user has to do is press hold down the 'Left-Amiga' key and press
  86.         the 'd' key, easy eh?  To generate the users formated date you do
  87.         the same key-sequence as above, but you also hold down the 'Shift'
  88.         key!  The 'users format' is defined by a string that you pass to
  89.         "MouseAide" at startup that tells the program how you want your
  90.         date to be generated.  The format is quite simple and is explained
  91.         below in the options sections.
  92.  
  93.     o   You can switch which port (1 or 2) that the mouse uses with the key
  94.         sequence: 'Left Amiga-P'  Did you buy a TrackBall for your favorite
  95.         graphics program, but prefer to use the mouse for your non-graphics
  96.         work, well plug the TrackBall in Port2 and switch between the mouse
  97.         and TrackBall on the fly with a few keys!
  98.  
  99.     o   Workbench Window to Front with the 'Left Amiga-W' (The default for this
  100.         function is: Off, so to use this fuction you must enable  with the '+w'
  101.         switch when installing "MouseAide")  I created this function because
  102.         with just a few open windows on the 'Workbench Screen' I could NOT get
  103.         at the disk icons!  When you activate this function the 'Workbench'
  104.         Window will come to the front, allowing you to open a disk/volume
  105.         icon.  When you open a window or use the 'Left Amiga-W' sequence again
  106.         the 'Workbench' Window will pop back!
  107.  
  108.     o   Freezing of the mouse and keyboard of all input, which if you live with
  109.         small children or a keyboard climbing critter, can be a real life-
  110.         saver!  Just use the 'Left Amiga-Right Amiga-Z' keyboard sequence to
  111.         toggle in/out of the input freezing mode.  When you enter the input
  112.         freezing mode all mouse and keyboard input (except for the key sequence
  113.         to toggle you back) will be frozen, also the mouse and screen will
  114.         blank until you leave this mode.  This fuction is great for those long
  115.         running programs, that you start up and leave alone for a long period
  116.         of time!
  117.  
  118.     o   Can switch the right & left mouse buttons when installed for those left
  119.         handed people out there!  (Use the '+l' option listed below)
  120.  
  121.     o   Any Selected-To-Be-Dragged-Icons will be released, when any window
  122.         manipulation (Window to back, Window to front, Keyboard window cycling)
  123.         is required to prevent a system lockup!  This gets around a Intuition
  124.         bug in the in the 'WindoToFront' and 'WindowToBack' functions.
  125.  
  126.     o   Adjustable priority of the 'Input Handler'  The default is: 57, and
  127.         should be fine for most of you.  But if you are using another program
  128.         that also uses a 'Input Handler' than this option maybe nice to have!
  129.  
  130.     o   Easy WorkBench & CLI startup and shutdown!
  131.  
  132.     o   Releases every byte of memory on shutdown.  No dead data, or code is
  133.         left in the system!  Did you ever notice, after running some programs,
  134.         how your free memory seems less?  Well it is!  But, NOT after running
  135.         "MouseAide"  It cleans up after itself!
  136.  
  137.     o   The options can be user defined by Workbench or CLI/Shell
  138.  
  139.     o   Very small in size, under 8K in size, and even smaller with your
  140.         favorite executable compressor (Turbo Imploder, PowerPacker...)
  141.  
  142.     o   Self-detaching,  for ease of startup!
  143.  
  144.     o   Uses advanced (Semaphore locked) static & dynamic memory management
  145.         techniques to reduce memory thrashing, while also keeping memory
  146.         demands low!
  147.  
  148.     o   Uses "good" programing practices!,  Not like most of the "Mouse"
  149.         programs floating around!  No "Intuition" calls are made from the
  150.         high-priority 'Input Handler', a very bad practice that most of the
  151.         "Mouse" programs use!
  152.  
  153.     o   The 'Input Handler' runs at a high priority, but the time wasting
  154.         part of the program run at a low priority
  155.  
  156.     o   The one-shot data & code (start-up, shut-down, etc...) is release
  157.         after start-up to further reduce memory overhead!
  158.  
  159.  
  160.  
  161.     To startup "MouseAide" from WorkBench just double-click on "MouseAide" Icon!
  162.  
  163.     From CLI type: MouseAide<RETURN>
  164.  
  165.         (Note: That the program is self-detaching, do NOT Run it!
  166.                It also sets the correct stack-size and priority, don't
  167.                waste time adjusting them!)
  168.  
  169.     To remove "MouseAide" just start up the program again.
  170.  
  171.  
  172.     All options (switchable, value & command) have a default setting. The value
  173.     defaults are set as following:
  174.  
  175.             Acceleration Factor     -   3
  176.             Threshold Factor        -   2
  177.             Clicks to Front         -   1
  178.             Mouse Blanking          -   5 Seconds
  179.             Screen Blaking          -   5 Minutes
  180.             Input Handler Priority  -   57
  181.             'Clicking' Volume       -   48
  182.  
  183.     The default options can be changed by the user by using the option line.
  184.     By using the '+' & '-' switches, the user can turn ON or OFF any option.
  185.     All the switchable options, but, Left-Handed-Swap and the Workbench
  186.     window to front, are by default: On.
  187.  
  188.     The switchable options are:
  189.  
  190.             "a" -   Auto-Activate
  191.             "f" -   Click to Front
  192.             "b" -   Click to Back
  193.             "m" -   Mouse Blanking
  194.             "s" -   Screen Blanking
  195.             "t" -   Key Turning
  196.             "e" -   Key-Activte
  197.             "k" -   Key-Mouse Blanking
  198.             "i" -   Multi-Icon-Select
  199.             "p" -   Port swapping for the Mouse
  200.             "l" -   Left-Handed-Swap (Off by default)
  201.             "w" -   Workbench Wndow to Front (Off by default)
  202.             "d" -   Auto-Date generation
  203.             "c" -   Keyboard 'Clicking'
  204.  
  205.  
  206.  
  207.     Value options are set by an integer number following the Option to be set.
  208.     The value is auto-ranged (limited) to a default value.
  209.  
  210.     The value options are:
  211.  
  212.             "A" -   Acceleration Factor (range:1-11)
  213.             "T" -   Threshold Factor (range:1-11)
  214.             "F" -   Click(s) need for window to Front (range:1-9)
  215.             "M" -   Mouse Blanking time in seconds (range:1-59)
  216.             "S" -   Screen Blanking time in minutes (range:1-59)
  217.             "P" -   Priority of the 'Input Handler' (range: 50-127)
  218.             "V" -   Volume level of the keyboard 'Clicking' (range: 1-64)
  219.  
  220.  
  221.  
  222.     The 'Automated Date' generation part of "MouseAide" allows the user to
  223.     design their own formated date generation with the 'U' option string,
  224.     just use the following information to build your own format string:
  225.  
  226.         "d" or "D"  - Stands for DAY
  227.  
  228.         "y" or "Y"  - Stands for YEAR
  229.  
  230.         "m"         - Stands for MONTH as a number
  231.  
  232.         "M"         - Stands for MONTH in writing
  233.  
  234.         "w" or "W"  - Stands for day of the WEEK
  235.  
  236.         "l" or "L"  - Stands for switch to the LONG type, until changed
  237.  
  238.         "s" or "S"  - Stands for switch to the SHORT type, until changed
  239.  
  240.         "'"         - Is to allow any of the above characters to be
  241.                       used as itself
  242.  
  243.             Any character that does NOT match the above ones are used to
  244.         fill in between the ones that are use!  Confused?  Lets try a few
  245.         examples:
  246.  
  247.             - Assume that the date is: June 7, 1992
  248.  
  249.         U"sm.sd.sy"      - Will generate: 06.07.92
  250.  
  251.         U"lm.ld.ly"      - Will generate: 6.7.1992
  252.  
  253.         U"lM ld, ly"     - Will generate: June 7, 1992
  254.  
  255.         U"ld-sM-sy"      - Will generate: 7-Jun-92
  256.  
  257.         U"sm/sd/sy"      - Will generate: 06/07/92
  258.  
  259.         U"sm/d/y"        - Will generate: 06/07/92
  260.  
  261.         U"lm/d/y"        - Will generate: 6/7/1992
  262.  
  263.         U"lm/d/sy"       - Will generate: 6/7/92
  264.  
  265.         U"sd-sm-sy (sw)" - Will generate: 07-06-92 (Sun)
  266.  
  267.         U"sd-sM-sy (sw)" - Will generate: 07-Jun-92 (Sun)
  268.  
  269.         U"lM sd (lw)"    - Will generate: June 07 (Sunday)
  270.  
  271.         U"lM ld (lw)"    - Will generate: June 7 (Sunday)
  272.  
  273.         U"'Date: sm/sy"  - Will generate: Date: 06/92
  274.  
  275.         As you can tell by the above examples the user format is very
  276.         flexible, and easy for anybody to use!
  277.  
  278.     The 'Automated-Date' function also allows the user to use a different
  279.     language then English!  By creating a file name ".DateInfo" that is made
  280.     up of the names of the months followed by the names of the days of the
  281.     week, each on one line, for a total of 19 lines.  When this file is
  282.     then placed in the same directory at startup of "MouseAide", they will
  283.     be used instead of the default English names!  For an example I have
  284.     placed a sample '.DateInfo' file in the directory named 'MiscFiles'
  285.  
  286.  
  287.  
  288.     The last option is the 'C' (command) option.  This option must be the last
  289.     option to be set on the option line!  The syntax is:
  290.  
  291.             C <User defined string>
  292.  
  293.     If you do NOT define a command string the default 'c:NewCLI' will be used!
  294.  
  295.  
  296.     So, a few examples are now in order:
  297.  
  298.         For: No Auto-Activate, Mouse Blanking set to 7 seconds, a Acceleration
  299.         Factor set to 5, the Threshold Factor set to 3,  do Key-Activate and
  300.         Key-Mouse Blanking we would use this option line:
  301.  
  302.             -a M7 A5 T3 +ek
  303.  
  304.         For: No clicking to front, and No Key-Turning, and the command string
  305.         'AShell...' we would use this option line:
  306.  
  307.             -fe CAShell CON:0/11/0/0/MouseAideShell
  308.  
  309.         For: An Acceleration of 2, and a Threshold of 1, with 3 Clicks for a
  310.         Window to front, and the Workbench Window to Front option, we would
  311.         use this option line:
  312.  
  313.             A2 T1 F3 +w
  314.  
  315.  
  316.  
  317.         To use the option line in the CLI, just add it to the end of the line
  318.         on startup. For example:
  319.  
  320.             MouseAide +mstkef A4 T2 F3 M3 S1 CGShell
  321.  
  322.  
  323.         To use the option line from WorkBench, you can do it two ways:
  324.  
  325.             1: Writing "OPTIONS=option line" in the "Tool Types" field of
  326.              "MouseAide" Tool Icon.
  327.  
  328.             2: Writing "OPTIONS=option line" in the "Tool Types" field of
  329.              a Project Icon and 'MouseAide' in the "Default Tool" field.
  330.  
  331.         You can get good examples by Info(ing) the Icons included
  332.  
  333.  
  334.     Hint:  A console window with a lot of output may delay some "MouseAide"
  335.            functions!  A good trick is to hit the shift-key when this delay
  336.            happens.  The Shift key will be like a electric shock to the
  337.            system, breaking the delay.
  338.  
  339.  
  340.  
  341.  
  342.     Tempus Fugit,
  343.  
  344.         Czar
  345.  
  346.  
  347.  
  348.  
  349. If you have any ideas, comments, bugs to report, write me:
  350.  
  351.  Thomas J. Czarnecki
  352.  3526 Republic Avenue
  353.  Racine, WI 53405-3856
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.